In many fields, notably in cryptography and data classification, it is necessary to obtain, from a large quantity of data, a result dependent on all these data simultaneously. For this, it is therefore necessary to have functions that have a very large quantity of input variables and be able to calculate their result effectively in a short time or with weak means. Usually, simple functions are used, that can be constructed with numerous variables and basic operations. Low degree linear functions or polynomials are therefore typically used. They are actually easy to calculate but often present properties or behaviors that are prohibitive, such as, for example, a poor distribution of the results. The effective production of non-simplistic functions that have a large number of input variables is therefore a prime requirement.
The evenly distributed nonlinear functions are very useful as hashing function for the optimum classification of data by hashing or search tree.
The use of hashing functions is, for example, described in the patent U.S. Pat. No. 5,229,768 which cites the “middle of square function” and “modulo function” hashing functions. The first is nonlinear but is limited to a restricted number of variables because the complexity of the square increases very rapidly. This function is not evenly distributed and is therefore not optimal as a hashing function for classification. The second is linear and is not always evenly distributed. Consequently, it can lead to distributions of the hashing that are biased and non-optimal on linearly dependent conventional data. The cluster phenomenon, provoked by the nonlinearity or the simplicity of the classification function, must be avoided because it penalizes the searches on the classified data. The even distribution is a necessary condition for achieving the optimum search time, a time that is a logarithmic function of the quantity of classified data. The nonlinear classification functions that produce a uniform distribution are therefore the best, but are in practice difficult to find.
With the explosion in the quantities of data processed, the use of rapid hashing functions to be calculated over a very large quantity of variables and with properties such as nonlinearity and even distribution is therefore crucial.
For cryptography, the choice of evenly distributed nonlinear functions is essential to ensure the quality of a cryptographic algorithm. In addition, as the detailed properties described hereinbelow show, these functions become all the better as their quantity of input variables n increases.
In any cryptographic method, the use of nonlinear functions, that is to say with an algebraic degree d strictly greater than 1, is a fundamental need. It is also necessary for these nonlinear elements integrated in the cryptographic method to have a certain number of additional properties. Thus, the use of nonlinear functions that have high order correlations protects a cryptographic algorithm from certain attacks. It is therefore an essential requirement analyzed by Siegenthaler who was the first to indicate the compromise between the order of the correlations t, the algebraic degree d and the number of input variables n of the Boolean functions in the form:d+t<n. 
The Walsh transform in addition proves that the correlation of a Boolean function with a given number of input variables n has a minimum correlation value decreasing with n. The extension of these results established over GF(2) with the Galois field GF(q) has been given by Camion et al in the form:d+t<(q−1)n. 
More recent results on other attacks such as the algebraic attacks show the need to use functions that have a high algebraic immunity.
The two constraints mentioned here, as well as other similar properties, therefore urge the use of functions that have many input variables. However, the technology limits the possibilities of producing such functions. The biggest memories currently available contain 128 Gbits in flash memory form. This means that they can process only 37 input Boolean variables, which is few in light of the current needs: it is desirable to use a function that has a hundred or so binary or q-ary input variables to ensure the properties sought.
Another important property of the functions used in cryptography is their even distribution. It is also a necessary condition for the minimization of the correlations stated previously.
It is therefore desirable to be able to effectively produce an evenly distributed binary or q-ary nonlinear function with many input variables despite the limits of the current technology.
In the prior art, various solutions have already been proposed to effectively produce Boolean functions or over an extended Galois field GF(2n). For example, the patents U.S. Pat. No. 6,397,370, U.S. Pat. No. 6,961,427 or even U.S. Pat. No. 6,868,536 propose such functions.
However, those skilled in the art find that these examples from the prior art:                are restricted to the case of Boolean functions, or        do not offer constructive solutions for producing the right functions and their heuristic search methods give no guarantee of results, or        offer solutions with no guarantee as to their even distribution properties, or        offer solutions with no guarantee as to the algebraic properties such as the algebraic degree of the functions, or        do not exactly quantify the complexity of implementation of the functions, or        offer solutions only for a few tens of variables at most.        